<template>
  <view class="comA-container">
    <text style="font-size: 36rpx; font-weight: bold; color: #333; margin-bottom: 30rpx; display: block;">子组件A</text>
    <view class="value-show" style="margin-bottom: 30rpx; padding: 20rpx; background: #fff; border-radius: 5rpx;">
      <text style="font-size: 30rpx; color: #666;">父组件传进来的值:</text>
      <text style="font-weight: bold; color: red; margin-left: 20rpx; font-size: 30rpx;">
        {{ intent || '暂无传递值' }}  
      </text>
    </view>
    <button 
      @click="sendToComB"  
      type="primary" 
      style="width: 100%; height: 80rpx; font-size: 32rpx;"
      :disabled="!intent.trim()"   
    >
      传值给子组件B
    </button>
  </view>
</template>

<script>
export default {
  // 1. 接收父组件传递的props值（父→子传值核心）
  props: {
    intent: {
      type: String,       // 限制值类型为字符串
      default: ''         // 默认值为空（避免undefined）
    }
  },
  data() {
    return {};
  },
  methods: {
    // 2. 向兄弟组件B传值（兄弟传值核心：通过uni.$emit触发全局事件）
    sendToComB() {
      console.warn("---子组件A---向子B传递值：", this.intent);
      
      // 触发全局自定义事件getIntent，携带父组件传递的输入值
      uni.$emit('getIntent', this.intent.trim());
      
      // 可选：添加传值成功提示
      uni.showToast({
        title: `已传值给子B：${this.intent.trim()}`,
        icon: "none",
        duration: 1500
      });
    }
  }
};
</script>

<style scoped>
.comA-container {
  display: flex;
  flex-direction: column;
}
</style>